//
//  NSObject+Safe.h
//  CommonTool
//
//  Created by Name i on 2022/4/13.
//

#import <Foundation/Foundation.h>
#import <objc/runtime.h>

NS_ASSUME_NONNULL_BEGIN

@interface NSObject (Swizzling)

/// 交换两个类方法的实现
/// @param originalSelector 原始方法的 SEL
/// @param swizzledSelector 交换方法的 SEL
/// @param targetClass 类
+ (void)tnSwizzlingClassMethod:(SEL)originalSelector withMethod:(SEL)swizzledSelector withClass:(Class)targetClass;


/// 交换两个对象方法的实现
/// @param originalSelector 原始方法的 SEL
/// @param swizzledSelector 交换方法的 SEL
/// @param targetClass 类
+ (void)tnSwizzlingInstanceMethod:(SEL)originalSelector withMethod:(SEL)swizzledSelector withClass:(Class)targetClass;

@end


NS_ASSUME_NONNULL_END
